package com.auto.admin.manager;

import com.auto.admin.entity.ApiInfo;
import com.auto.admin.entity.bo.ApiInfoBO;
import com.auto.admin.entity.bo.param.ExecRequestBO;
import com.auto.admin.entity.bo.param.SaveApiInfoBO;
import java.io.Serializable;
import java.util.List;

/**
 * Description: 映射列表  接口
 *
 * @author liangshf
 * @date 2018-10-16
 */
public interface ApiInfoManager {

    /**
     * 保存映射列表
     *
     * @param apiInfoList List<SaveApiInfoBO>
     * @return
     */
    void saveApiList(List<ApiInfoBO> apiInfoList);
    
    /**
     * 根据url获取ControllerUrlMapping
     * @param url
     * @return
     */
    ApiInfo getByUrl(String url);

    /**
     * 根据url获取ApiInfo
     * @param id
     * @return
     */
    ApiInfo getById(Serializable id);

    /**
     * 根据条件查询信息
     * 2、微店 根据 Long 门店id  String 商品名称
     *
     * @param paramBO SearchShopProductParamBO
     * @return List<SaveApiInfoBO>
     */
    List<SaveApiInfoBO> findListByParamBO(ApiInfoBO paramBO);

    /**
     * 根据id执行请求
     * @param paramBO ExecRequestBO
     */
    String request(ExecRequestBO paramBO);
}
